/*--------------------------------------------------------------------------
　ユニットコマンド説明スクリプト ver1.1

■作成者
キュウブ

■概要
ユニットコマンドでコマンドにカーソルをあわせた時に各種コマンドの説明文が表示されるようになります。
説明文を変更したい場合は、このスクリプト内のテキストを編集する必要があります。

また、
ユニットイベントのコマンド
フュージョンデータ
形態変化スキル(※形態変化データではない事に注意)
場所イベント(カスタム)
では、それぞれのカスパラに
{
  commandDescriptionText: '<コマンドの説明文>'
}
を設定する事で独自のコマンド説明文に変更する事が可能となります。

■その他のコマンド系スクリプトについて
下記のスクリプトについては対応済みです
マップ設置兵器スクリプト ver1.8以降 (対象武器のカスパラにcommandDescriptionTextを仕込む事で書き換え可)
連携攻撃スクリプト ver0.2以降 (対象フュージョンデータにcommandDescriptionTextを仕込む事で書き換え可)
ワープコマンドスクリプト ver1.1以降 (対象"ダミーアイテム"のカスパラにcommandDescriptionTextを仕込む事で書き換え可)

その他のスクリプトについては
各々のスクリプトのコマンドクラスの中に下記のようなメソッドを追加しないと、空文字か親クラスの説明文が表示されます。
getDescription: function() {
	return '<コマンド説明文>';
}

■対応バージョン
SRPG Studio Version:1.161

■規約
・利用はSRPG Studioを使ったゲームに限ります。
・商用・非商用問いません。フリーです。
・加工等、問題ありません。
・クレジット明記無し　OK (明記する場合は"キュウブ"でお願いします)
・再配布、転載　OK (バグなどがあったらプルリクエストしてくださると嬉しいです)
・wiki掲載　OK
・SRPG Studio利用規約は遵守してください。

------------------------------------------------------*/

UnitListCommand.getDescription = function() {
	return '';
};

UnitCommand.UnitEvent.getDescription = function() {
	var event = this._getEvent();
	return event.custom.commandDescriptionText || '';
};

UnitCommand.Attack.getDescription = function() {
	return 'Pick a fight with a foe.';
};

UnitCommand.Wand.getDescription = function() {
	return 'Use a staff.';
};

UnitCommand.Item.getDescription = function() {
	return 'Consume or equip items.';
};

UnitCommand.Trade.getDescription = function() {
	return 'Exchange items with an adjacent ally.';
};

UnitCommand.Stock.getDescription = function() {
	return 'Take items out of the storage.';
};

UnitCommand.Wait.getDescription = function() {
	return 'End this characters turn.';
};

UnitCommand.Metamorphoze.getDescription = function() {
	if (!this._skill || typeof this._skill.custom.commandDescriptionText !== 'string') {
		return 'Fuse';
	}
	return this._skill.custom.commandDescriptionText;
};

UnitCommand.MetamorphozeCancel.getDescription = function() {
	return 'Cancel Fusion';
};

UnitCommand.FusionAttack.getDescription = function() {
	return this._fusionData.custom.commandDescriptionText || 'Fusion Attack';
};

UnitCommand.FusionCatch.getDescription = function() {
	return this._fusionData.custom.commandDescriptionText || 'Fusion Catch';
};

UnitCommand.FusionUnitTrade.getDescription = function() {
	return 'Fusion unit trade';
};

UnitCommand.FusionRelease.getDescription = function() {
	return 'Fusion release';
};

UnitCommand.PlaceCommand.getDescription = function() {
	var event = this._getEvent();
	return event.custom.commandDescriptionText || '';
};

UnitCommand.Talk.getDescription = function() {
	return 'Speak with the target.';
};

UnitCommand.Steal.getDescription = function() {
	return 'Take an item from the foe.';
};

UnitCommand.Quick.getDescription = function() {
	return 'Dance command?';
};

UnitCommand.Occupation.getDescription = function() {
	return 'Seize the space.';
};

UnitCommand.Village.getDescription = function() {
	return 'Visit this location once.';
};

UnitCommand.Information.getDescription = function() {
	return 'Gather info from this location.';
};

UnitCommand.Shop.getDescription = function() {
	return 'Buy or sell items';
};

UnitCommand.Treasure.getDescription = function() {
	return 'Take whatever is in the treasure chest';
};

UnitCommand.Gate.getDescription = function() {
	return 'Gate.';
};

(function(){
	UnitCommand._drawTitle = function() {
		var x = this.getPositionX();
		var y = this.getPositionY();
		
		this._commandScrollbar.drawScrollbar(x, y);
		this._drawBottomText();
	};

	UnitCommand._drawBottomText = function() {
		var currentCommand = this._commandScrollbar.getObject();
		var text = currentCommand.getDescription() || '';
		var textui = root.queryScreen('UnitMenu').getBottomFrameTextUI();
		
		TextRenderer.drawScreenBottomText(text, textui);
	};
})();